-----

PowerShell Base64 変換・復元手順

## 1\. ファイルをBase64に変換し、テキストファイルに保存する (エンコード)

任意のファイルを読み込み、その内容をBase64エンコードし、結果の文字列をテキストファイルとして保存します。

### 使用するコマンドレット/メソッド

  - Get-Content: ファイル内容をバイト配列として読み込む (-Encoding Byte)。
  - [System.Convert]::ToBase64String(): バイト配列をBase64文字列に変換する。
  - Set-Content: Base64文字列をテキストファイルに書き込む (-NoNewline で改行を防ぐ)。

### PowerShellコマンド

```powershell
# 【手順 1-1】 変数の設定
$SourceFile = "C:\Users\YourName\Documents\original_file.pdf"   # 👈 変換したい元のファイルパス
$OutputFile = "C:\Users\YourName\Desktop\encoded_base64.txt"   # 👈 Base64文字列を保存するテキストファイルのパス

# --------------------------------------------------------------------------------

# 【手順 1-2】 エンコードと保存の実行

# ファイルをバイト配列として読み込み、Base64に変換
$Base64String = [System.Convert]::ToBase64String((Get-Content -Path $SourceFile -Encoding Byte))

# Base64文字列をテキストファイルに保存
Set-Content -Path $OutputFile -Value $Base64String -NoNewline

Write-Host "✅ 変換完了。Base64文字列は $OutputFile に保存されました。"
```

-----

## 2\. Base64テキストファイルを元のファイルに復元する (デコード)

保存されたBase64文字列を含むテキストファイルを読み込み、それをデコードして元のファイル形式で保存します。

### 使用するコマンドレット/メソッド

  - Get-Content -Raw: Base64テキストファイルの内容全体を単一の文字列として読み込む。
  - [System.Convert]::FromBase64String(): Base64文字列をバイト配列にデコードする。
  - Set-Content: デコードされたバイト配列をファイルに書き込む (-Encoding Byte が必須)。

### PowerShellコマンド

```powershell
# 【手順 2-1】 変数の設定
$EncodedFile = "C:\Users\YourName\Desktop\encoded_base64.txt"   # 👈 Base64文字列が保存されているテキストファイルのパス
$RestoredFile = "C:\Users\YourName\Desktop\restored_file.pdf"   # 👈 復元したいファイルとして保存するパス (元の拡張子を指定)

# --------------------------------------------------------------------------------

# 【手順 2-2】 読み込みとデコードの実行

# Base64文字列全体を読み込む
$Base64String = Get-Content -Path $EncodedFile -Raw

# Base64文字列をバイト配列にデコード
$Bytes = [System.Convert]::FromBase64String($Base64String)

# バイト配列を元のファイルとして書き込む (ここでの -Encoding Byte が重要)
Set-Content -Path $RestoredFile -Value $Bytes -Encoding Byte

Write-Host "✅ 復元完了。元のファイルは $RestoredFile として保存されました。"
```